package jpa.entitys.promis.sales;

import java.io.Serializable;

import javax.persistence.*;

import java.math.BigDecimal;
import java.util.Date;


/**
 * The persistent class for the BOOKING_INSTALLMENTS database table.
 * 
 */
@Entity
@Table(name="BOOKING_INSTALLMENTS")
public class BookingInstallment extends jpa.entitys.common.CommonEntity implements Serializable {
	private static final long serialVersionUID = 1L;

	@EmbeddedId
	private BookingInstallmentPK id;
	
	@Override public String toString() { return org.apache.commons.lang.builder.ToStringBuilder.reflectionToString(this);}

	@Column(name="CHEQUE_PAYEE_AC", length=3)
	private String chequePayeeAc;

	@Column(name="CREATED_BY")
	private String createdBy;

    @Temporal( TemporalType.TIMESTAMP)
	@Column(name="CREATED_ON")
	private Date createdOn;

	@Column(name="FLAG_UNIT_ADJUST", length=1)
	private String flagUnitAdjust;

	@Column(name="INSTALLMENT_AMOUNT_PAID", precision=16, scale=2)
	private BigDecimal installmentAmountPaid;

	@Column(name="INSTALLMENT_DUE_AMOUNT", precision=16, scale=2)
	private BigDecimal installmentDueAmount;

    @Temporal( TemporalType.TIMESTAMP)
	@Column(name="INSTALLMENT_DUE_DATE")
	private Date installmentDueDate;

	@Column(name="INSTALLMENT_NUMBER", precision=3)
	private BigDecimal installmentNumber;

    @Temporal( TemporalType.TIMESTAMP)
	@Column(name="INSTALLMENT_PAID_DATE")
	private Date installmentPaidDate;

	@Column(name="LAST_UPD_BY")
	private String lastUpdBy;

    @Temporal( TemporalType.TIMESTAMP)
	@Column(name="LAST_UPD_ON")
	private Date lastUpdOn;

	@Column(name="PAYMENT_TYPE", length=1)
	private String paymentType;

	@Column(length=300)
	private String remarks;

	@Column(name="UNIT_NUMBER", length=8)
	private String unitNumber;

	@Column(name="VAT_AMOUNT", precision=12, scale=2)
	private BigDecimal vatAmount;

	@Column(name="VAT_CODE", length=2)
	private String vatCode;

	@Column(name="VAT_RATE", precision=5, scale=2)
	private BigDecimal vatRate;

	@Column(name="WHT_AMOUNT", precision=12, scale=2)
	private BigDecimal whtAmount;

	@Column(name="WHT_RATE", precision=5, scale=2)
	private BigDecimal whtRate;

	@Column(name="WHT_SUBCODE", length=2)
	private String whtSubcode;

	@Column(name="WHT_TYPE", length=2)
	private String whtType;

    public BookingInstallment() {
    }

	public BookingInstallmentPK getId() {
		return this.id;
	}

	public void setId(BookingInstallmentPK id) {
		this.id = id;
	}
	
	public String getChequePayeeAc() {
		return this.chequePayeeAc;
	}

	public void setChequePayeeAc(String chequePayeeAc) {
		this.chequePayeeAc = chequePayeeAc;
	}

	public String getCreatedBy() {
		return this.createdBy;
	}

	public void setCreatedBy(String createdBy) {
		this.createdBy = createdBy;
	}

	public Date getCreatedOn() {
		return this.createdOn;
	}

	public void setCreatedOn(Date createdOn) {
		this.createdOn = createdOn;
	}

	public String getFlagUnitAdjust() {
		return this.flagUnitAdjust;
	}

	public void setFlagUnitAdjust(String flagUnitAdjust) {
		this.flagUnitAdjust = flagUnitAdjust;
	}

	public BigDecimal getInstallmentAmountPaid() {
		return this.installmentAmountPaid;
	}

	public void setInstallmentAmountPaid(BigDecimal installmentAmountPaid) {
		this.installmentAmountPaid = installmentAmountPaid;
	}

	public BigDecimal getInstallmentDueAmount() {
		return this.installmentDueAmount;
	}

	public void setInstallmentDueAmount(BigDecimal installmentDueAmount) {
		this.installmentDueAmount = installmentDueAmount;
	}

	public Date getInstallmentDueDate() {
		return this.installmentDueDate;
	}

	public void setInstallmentDueDate(Date installmentDueDate) {
		this.installmentDueDate = installmentDueDate;
	}

	public BigDecimal getInstallmentNumber() {
		return this.installmentNumber;
	}

	public void setInstallmentNumber(BigDecimal installmentNumber) {
		this.installmentNumber = installmentNumber;
	}

	public Date getInstallmentPaidDate() {
		return this.installmentPaidDate;
	}

	public void setInstallmentPaidDate(Date installmentPaidDate) {
		this.installmentPaidDate = installmentPaidDate;
	}

	public String getLastUpdBy() {
		return this.lastUpdBy;
	}

	public void setLastUpdBy(String lastUpdBy) {
		this.lastUpdBy = lastUpdBy;
	}

	public Date getLastUpdOn() {
		return this.lastUpdOn;
	}

	public void setLastUpdOn(Date lastUpdOn) {
		this.lastUpdOn = lastUpdOn;
	}

	public String getPaymentType() {
		return this.paymentType;
	}

	public void setPaymentType(String paymentType) {
		this.paymentType = paymentType;
	}

	public String getRemarks() {
		return this.remarks;
	}

	public void setRemarks(String remarks) {
		this.remarks = remarks;
	}

	public String getUnitNumber() {
		return this.unitNumber;
	}

	public void setUnitNumber(String unitNumber) {
		this.unitNumber = unitNumber;
	}

	public BigDecimal getVatAmount() {
		return this.vatAmount;
	}

	public void setVatAmount(BigDecimal vatAmount) {
		this.vatAmount = vatAmount;
	}

	public String getVatCode() {
		return this.vatCode;
	}

	public void setVatCode(String vatCode) {
		this.vatCode = vatCode;
	}

	public BigDecimal getVatRate() {
		return this.vatRate;
	}

	public void setVatRate(BigDecimal vatRate) {
		this.vatRate = vatRate;
	}

	public BigDecimal getWhtAmount() {
		return this.whtAmount;
	}

	public void setWhtAmount(BigDecimal whtAmount) {
		this.whtAmount = whtAmount;
	}

	public BigDecimal getWhtRate() {
		return this.whtRate;
	}

	public void setWhtRate(BigDecimal whtRate) {
		this.whtRate = whtRate;
	}

	public String getWhtSubcode() {
		return this.whtSubcode;
	}

	public void setWhtSubcode(String whtSubcode) {
		this.whtSubcode = whtSubcode;
	}

	public String getWhtType() {
		return this.whtType;
	}

	public void setWhtType(String whtType) {
		this.whtType = whtType;
	}

}